<?php

# -- DÉBUT NOTE DE LICENCE -------------------------------------
#
# Ce fichier fait partie de Clicpage.
#
# Copyright (c) 2010 Francois (www.clicpage.net)
# Distribué selon les termes de la licence GPL version 2.0.
# Consultez le fichier LICENCE ou
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
#
# -- FIN NOTE DE LICENCE ---------------------------------------

class cpModuleModifierDossier extends cpModuleAdmin
{
	
	
	
	
	
	protected $cat;
	
	
	
	
	
    /// @name Initialisation
	//@{
	
	
	public function __construct($core)
    {
		parent::__construct($core);  

		# Permission nécessaire: toutesPages
		$this->core->auth->verifierPermission('toutesPages', true);
		# Permission nécessaire: creerCategorie
		$this->core->auth->verifierPermission('creerCategorie', true);
        
        $this->cat = $this->core->site->getCategories(array('cat_id' => (integer) $_GET['cat_id']), CP_GET_STATIC);
        
        if($this->cat->isEmpty()) {
        	http::redirect('index.php?module=pages');
        }
        
        $this->setTitreModule(__('Éditer le dossier'));
        $this->setPrev('pages&cat_id='.$this->cat->cat_id, 'Pages');
        $this->ajouterBoutonAction(__('Enregistrer'), '#', 'boutonAction_enregistrer');
        
        $this->setActionsAutorisees('modifierDossier');
		
		# CSS et Javascript
		$this->setJavascript('modifierDossier');
        
    }
    //@}
    
	
	

	
	/// @name Formulaires
	//@{
	

	public function action_modifierDossier()
	{
		
		if($_POST['cat_id'] != $this->cat->cat_id) {
			return;
		}
		
		$cur = $this->core->con->openCursor($this->core->prefix.'categories');
		$cur->cat_titre		= $_POST['cat_titre'];
		$cur->cat_url		= $_POST['cat_url'];
		
		if($this->cat->parent_cat_id != 0 && !empty($_POST['parent_cat_id'])) {
			$cur->parent_cat_id = (integer) $_POST['parent_cat_id'];
		}
		
		$this->cat->enregistrer($cur);
		
		$this->messageOK(__('Le dossier a été mis à jour avec succès.'));

	}
    //@} 
    
	

	
	
	/// @name Interface du module
	//@{
	

	public function interfaceModule()
	{
	
		# Valeur des champs de formulaire
		$cat_titre = $this->erreursFormulairePresentes() ? $_POST['cat_titre'] : $this->cat->cat_titre;
		$cat_url = $this->erreursFormulairePresentes() ? $_POST['cat_url'] : $this->cat->cat_url;
		$parent_cat_id = $this->erreursFormulairePresentes() ? $_POST['parent_cat_id'] : $this->cat->parent_cat_id;
		
		# HTML de l'interface
		$html = 
		'<form action="index.php?module=modifierDossier&cat_id='.(integer) $this->cat->cat_id.'" method="post" id="formulaireModifierDossier">'.
			$this->afficherMessages().
			$this->core->nonceHTML('modifierDossier').
			form::hidden('action', 'modifierDossier').
			form::hidden('cat_id', (integer) $this->cat->cat_id).
			'<p>'.
				'<label for="cat_titre">'.__('Nom du dossier').'</label>'.
				$this->field('cat_titre', 30, 255, html::escapeHTML($cat_titre)).
			'</p>'.
			'<p>'.
				'<label for="cat_url">'.__('URL du dossier').'</label>'.
				$this->field('cat_url', 30, 255, html::escapeHTML($cat_url)).
				'<span class="aideFormulaire">'.__('Seules les nouvelles pages seront affectées par ce paramètre.').'</span>'.
			'</p>';
				
			$html.= $this->cat->parent_cat_id == 0 ? '' :
			'<p>'.
				'<label for="parent_cat_id">'.__('Dossier parent').'</label>'.
				$this->combo('parent_cat_id', $this->core->site->getComboCategories(), $parent_cat_id).
			'</p>';
				
			$html.=
			'<p>'.
				'<input type="submit" value="'.__('Enregistrer').'" />'.
			'</p>'.
		'</form>';
			
		return $html;
	
	}
	//@}
    
	
}

?>